{
  "name": "root",
  "private": true,
  "engines": {
    "node": "18 || 20"
  },
  "scripts": {
    "dev": "concurrently 'yarn start' 'yarn start-backend'",
    "dev:next": "concurrently 'yarn start:next' 'yarn start-backend:next'",
    "start": "yarn workspace example-app start",
    "start-backend": "yarn workspace example-backend start",
    "start:next": "yarn workspace example-app-next start",
    "start-backend:next": "yarn workspace example-backend-next start",
    "start:microsite": "cd microsite/ && yarn start",
    "build:backend": "yarn workspace example-backend build",
    "build:all": "backstage-cli repo build --all",
    "build:api-reports": "yarn build:api-reports:only --tsc",
    "build:api-reports:only": "backstage-repo-tools api-reports --allow-warnings 'packages/core-components,plugins/+(catalog|catalog-import|git-release-manager|jenkins|kubernetes)' -o ae-wrong-input-file-type --validate-release-tags",
    "build:knip-reports": "backstage-repo-tools knip-reports",
    "build:api-docs": "LANG=en_EN yarn build:api-reports --docs --exclude 'plugins/@(adr|adr-backend|adr-common|airbrake|airbrake-backend|allure|analytics-module-ga|analytics-module-ga4|analytics-module-newrelic-browser|apache-airflow|api-docs|api-docs-module-protoc-gen-doc|apollo-explorer|app-visualizer|azure-devops|azure-devops-backend|azure-devops-common|azure-sites|azure-sites-backend|azure-sites-common|badges|badges-backend|bazaar|bazaar-backend|bitbucket-cloud-common|bitrise|catalog-graph|catalog-graphql|catalog-import|catalog-unprocessed-entities|cicd-statistics|cicd-statistics-module-gitlab|circleci|cloudbuild|code-climate|code-coverage|code-coverage-backend|codescene|config-schema|cost-insights|cost-insights-common|dynatrace|entity-feedback|entity-feedback-backend|entity-feedback-common|entity-validation|example-todo-list|example-todo-list-backend|example-todo-list-common|firehydrant|fossa|gcalendar|gcp-projects|git-release-manager|github-actions|github-deployments|github-issues|github-pull-requests-board|gitops-profiles|gocd|graphiql|graphql-backend|graphql-voyager|ilert|jenkins|jenkins-backend|jenkins-common|kafka|kafka-backend|lighthouse|lighthouse-backend|lighthouse-common|linguist|linguist-backend|linguist-common|microsoft-calendar|newrelic|newrelic-dashboard|nomad|nomad-backend|octopus-deploy|opencost|pagerduty|periskop|periskop-backend|playlist|playlist-backend|playlist-common|proxy-backend|puppetdb|rollbar|rollbar-backend|sentry|shortcuts|splunk-on-call|stack-overflow|stack-overflow-backend|stackstorm|tech-radar|tech-radar-2|todo|todo-backend|xcmetrics)'",
    "build:plugins-report": "node ./scripts/build-plugins-report",
    "tsc": "tsc",
    "tsc:full": "backstage-cli repo clean && tsc --skipLibCheck false --incremental false",
    "clean": "backstage-cli repo clean",
    "test": "backstage-cli repo test",
    "test:all": "backstage-cli repo test --coverage",
    "test:e2e": "playwright test",
    "fix": "backstage-cli repo fix",
    "lint": "backstage-cli repo lint --since origin/master",
    "lint:docs": "node ./scripts/check-docs-quality",
    "lint:all": "backstage-cli repo lint",
    "lint:type-deps": "backstage-repo-tools type-deps",
    "docker-build": "yarn tsc && yarn workspace example-backend build && yarn workspace example-backend build-image",
    "new": "backstage-cli new --scope backstage --baseVersion 0.0.0 --no-private",
    "create-plugin": "echo \"use 'yarn new' instead\"",
    "release": "node scripts/prepare-release.js && changeset version && yarn prettier --write '{packages,plugins}/*/{package.json,CHANGELOG.md}' '.changeset/*.json' && yarn install --no-immutable",
    "prettier:check": "prettier --check .",
    "prettier:fix": "prettier --write .",
    "storybook": "yarn ./storybook run start",
    "snyk:test": "npx snyk test --yarn-workspaces --strict-out-of-sync=false",
    "snyk:test:package": "yarn snyk:test --include",
    "build-storybook": "yarn ./storybook run build-storybook",
    "techdocs-cli": "node scripts/techdocs-cli.js",
    "techdocs-cli:dev": "cross-env TECHDOCS_CLI_DEV_MODE=true node scripts/techdocs-cli.js",
    "prepare": "husky",
    "postinstall": "husky || true"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/backstage/backstage"
  },
  "workspaces": {
    "packages": [
      "packages/*",
      "plugins/*"
    ]
  },
  "resolutions": {
    "@types/react": "^18",
    "@types/react-dom": "^18",
    "jest-haste-map@^29.7.0": "patch:jest-haste-map@npm%3A29.7.0#./.yarn/patches/jest-haste-map-npm-29.7.0-e3be419eff.patch",
    "@material-ui/pickers@^3.3.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch",
    "@material-ui/pickers@^3.2.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch"
  },
  "version": "1.23.0",
  "dependencies": {
    "@backstage/errors": "workspace:^",
    "@manypkg/get-packages": "^1.1.3",
    "@useoptic/optic": "^0.50.10"
  },
  "devDependencies": {
    "@backstage/cli": "workspace:*",
    "@backstage/codemods": "workspace:*",
    "@backstage/create-app": "workspace:*",
    "@backstage/e2e-test-utils": "workspace:*",
    "@backstage/repo-tools": "workspace:*",
    "@changesets/cli": "^2.14.0",
    "@octokit/rest": "^19.0.3",
    "@playwright/test": "^1.32.3",
    "@spotify/eslint-plugin": "^14.1.3",
    "@spotify/prettier-config": "^14.0.0",
    "@techdocs/cli": "workspace:*",
    "@types/node": "^18.17.8",
    "@types/webpack": "^5.28.0",
    "command-exists": "^1.2.9",
    "concurrently": "^8.0.0",
    "cross-env": "^7.0.0",
    "e2e-test": "workspace:*",
    "eslint": "^8.6.0",
    "eslint-plugin-notice": "^0.9.10",
    "eslint-plugin-react": "^7.28.0",
    "eslint-plugin-testing-library": "^6.0.0",
    "fs-extra": "^11.2.0",
    "husky": "^9.0.0",
    "knip": "^5.0.0",
    "lint-staged": "^15.0.0",
    "minimist": "^1.2.5",
    "node-gyp": "^10.0.0",
    "prettier": "^2.2.1",
    "semver": "^7.5.3",
    "shx": "^0.3.2",
    "sloc": "^0.3.1",
    "ts-node": "^10.4.0",
    "typescript": "~5.1.0"
  },
  "prettier": "@spotify/prettier-config",
  "lint-staged": {
    "*.{js,jsx,ts,tsx,mjs,cjs}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,md}": [
      "prettier --write"
    ],
    "*.md": [
      "node ./scripts/check-docs-quality"
    ],
    "{plugins,packages}/*/catalog-info.yaml": [
      "yarn backstage-repo-tools generate-catalog-info --ci"
    ],
    "{.github/CODEOWNERS,package.json}": [
      "yarn backstage-repo-tools generate-catalog-info",
      "git add */catalog-info.yaml"
    ],
    "./yarn.lock": [
      "node ./scripts/verify-lockfile-duplicates --fix"
    ],
    "*/yarn.lock": [
      "node ./scripts/verify-lockfile-duplicates --fix"
    ]
  },
  "packageManager": "yarn@3.2.3"
}
